The present disclosure relates generally to information technology and more particularly, to computer systems in virtual environments.
Virtualized computing environments, also referred to as cloud computing systems, are used to provide computing resources to end users. In a cloud computing environment, the physical hardware configuration is hidden from the end user. Cloud computing systems may include servers, network storage devices, routers, gateways, communication links and other devices.
In a typical cloud computing environment, applications may be executed on virtual machines (VMs), which are isolated guest operating systems installed within a host system. Virtual machines are typically implemented with either software emulation or hardware virtualization, or both. A single hardware and/or software platform may host a number of virtual machines, each of which may have access to some portion of the platform's resources, such as processing resources, storage resources, etc.
Users may request one or more virtual machines of the cloud for use. Current techniques may determine where to provision a virtual machine based on virtual machine memory configuration and server capacity. However, such techniques for accurately balancing the load are inadequate, and administrators often manually disable, analyze and enable multiple servers to ensure load balancing.